package com.cn.wanxi.dao.impl;

import com.cn.wanxi.dao.IProductDao;
import com.cn.wanxi.model.PageModel;
import com.cn.wanxi.model.ProductModel;
import com.cn.wanxi.util.GetSqlSession;
import com.cn.wanxi.util.JDBC;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

public class ProductDaoImpl implements IProductDao {
//    JDBC jdbc=new JDBC();
    @Override
    public int add(ProductModel productModel) {
        return GetSqlSession.getSqlSession().insert("com.cn.wanxi.dao.IProductDao.add",productModel);
//        String sql="INSERT into product (title,imgHref,content,casetype_id) VALUES ('"+productModel.getTitle()+"','"+productModel.getImgHref()+"','"+productModel.getContent()+"','"+productModel.getCasetypeid()+"')";
//        int count=jdbc.update(sql);
//        jdbc.closeConn();
//        return count;
    }

    @Override
    public List<ProductModel> findAll(PageModel pageModel) {
        return GetSqlSession.getSqlSession().selectList("com.cn.wanxi.dao.IProductDao.findAll",pageModel);
//        String sql="SELECT a.*,b.`name` AS casetype_name FROM product a,casetype b WHERE a.casetype_id=b.id ORDER BY id ASC limit "+(pageModel.getPageNum()-1)*pageModel.getPageSize()+","+pageModel.getPageSize()+"";
//        ResultSet resultSet=jdbc.getResultSet(sql);
//        List<ProductModel> list=new ArrayList<>();
//        try {
//            while (resultSet.next()){
//                ProductModel model=new ProductModel();
//                model.setId(resultSet.getInt("id"));
//                model.setImgHref(resultSet.getString("imgHref"));
//                model.setContent(resultSet.getString("content"));
//                model.setCasetypename(resultSet.getString("casetype_name"));
//                list.add(model);
//
//            }
//        } catch (SQLException e) {
//            e.printStackTrace();
//        }
//        jdbc.closeConn();
//        return list;
    }

    @Override
    public int deletebyid(int id) {
        return GetSqlSession.getSqlSession().delete("com.cn.wanxi.dao.IProductDao.deletebyid",id);
//        String sql = "DELETE FROM `product` WHERE id=" + id;
//        int count=jdbc.update(sql);
//        jdbc.closeConn();
//        return count;
    }

    @Override
    public ProductModel findbyId(int productid) {
        return GetSqlSession.getSqlSession().selectOne("com.cn.wanxi.dao.IProductDao.findbyId",productid);
//        String sql="SELECT a.*,b.`name` AS casetype_name FROM product a,casetype b WHERE a.casetype_id=b.id AND a.id = " + productid;
//        ResultSet resultSet=jdbc.getResultSet(sql);
//        ProductModel model=new ProductModel();
//        try {
//            while (resultSet.next()){
//                model.setId(resultSet.getInt("id"));
//                model.setCasetypeid(resultSet.getInt("casetype_id"));
//                model.setImgHref(resultSet.getString("imgHref"));
//                model.setContent(resultSet.getString("content"));
//                model.setCasetypename(resultSet.getString("casetype_name"));
//            }
//        } catch (SQLException e) {
//            e.printStackTrace();
//        }
//        jdbc.closeConn();
//        return model;
    }

    @Override
    public int update(ProductModel productModel) {
        return GetSqlSession.getSqlSession().update("com.cn.wanxi.dao.IProductDao.update",productModel);
//        String sql="UPDATE product SET imgHref='"+productModel.getImgHref()+"',content='"+productModel.getContent()+"',casetype_id='"+productModel.getCasetypeid()+"' WHERE id='"+productModel.getId()+"'";
//        int resultSet=jdbc.update(sql);
//        jdbc.closeConn();
//        return resultSet;
    }

    @Override
    public int getCount(ProductModel productModel) {
        return GetSqlSession.getSqlSession().selectOne("com.cn.wanxi.dao.IProductDao.getCount",productModel);
//        String sql="SELECT COUNT(*) COUNT FROM product a,casetype b WHERE a.casetype_id=b.id";
//        ResultSet resultSet=jdbc.getResultSet(sql);
//        int count=0;
//        try {
//            while (resultSet.next()){
//                count=resultSet.getInt("count");
//            }
//        } catch (SQLException e) {
//            e.printStackTrace();
//        }
//        jdbc.closeConn();
//        return count;
    }

    @Override
    public List<ProductModel> productFind() {
        return GetSqlSession.getSqlSession().selectList("com.cn.wanxi.dao.IProductDao.productFind");
    }


    @Override
    public List<ProductModel> productTh(ProductModel productModel) {
        return GetSqlSession.getSqlSession().selectList("com.cn.wanxi.dao.IProductDao.productTh",productModel);
//        String sql="SELECT a.*,b.*  FROM product a,casetype b WHERE a.casetype_id=b.id";
//
//        if (!"".equals(productModel.getContent())){
//            sql += " and content like '% " + productModel.getContent() + "%'";
//        }
//
//        if (!"".equals(productModel.getName())){
//            sql += " and name like '%" + productModel.getName() + "%'";
//        }
//                sql +=" ORDER BY a.id ASC";
//        List<ProductModel> list = new ArrayList<>();
//        ResultSet resultSet = jdbc.getResultSet(sql);
//        try {
//            while (resultSet.next()) {
//                ProductModel model = new ProductModel();
//                model.setId(resultSet.getInt("id"));
//                model.setImgHref(resultSet.getString("imgHref"));
//                model.setContent(resultSet.getString("content"));
//                model.setName(resultSet.getString("name"));
//                list.add(model);
//            }
//        } catch (SQLException e) {
//            e.printStackTrace();
//        }
//        jdbc.closeConn();
//        return list;
    }

}
